No Java without Caffeine: A Tool for Dynamic Analysis of Java Programs
نویسندگان
چکیده
To understand the behavior of a program, a maintainer reads some code, asks a question about this code, conjectures an answer, and searches the code and the documentation for confirmation of her conjecture. However, the confirmation of the conjecture can be error-prone and time-consuming because the maintainer has only static information at her disposal. She would benefit from dynamic information. In this paper, we present Caffeine, an assistant that helps the maintainer in checking her conjecture about the behavior of a Java program. Our assistant is a dynamic analysis tool that uses the Java platform debug architecture to generate a trace, i.e., an execution history, and a Prolog engine to perform queries over the trace. We present a usage scenario based on the n-queens problem, and two real-life examples based on the Singleton design pattern and on the composition relationship.
منابع مشابه
Use of profilers for studying Java dynamic optimizations
Java differs from many common programming languages in that Java programs are first compiled to platform-independent bytecode. Java bytecode is run by a program called the Java Virtual Machine (JVM). Because of this approach, Java programs are often optimized dynamically (i.e. at run-time) by the JVM. A just-in-time compiler (JIT) is a part of the JVM that performs dynamic optimizations. Our re...
متن کاملGadget: A Tool for Extracting the Dynamic Structure of Java Programs
Source code analysis and inspection does not provide enough information to describe the structure of an objectoriented program completely because there are components and relations that only exist during its runtime. This paper presents a tool, called Gadget, that helps software engineers extract the dynamic structure of objectoriented programs written in the Java programming language. The tool...
متن کاملDynAlloy as a Formal Method for the Analysis of Java Programs
DynAlloy is an extension of the Alloy specification language that allows one to specify and analyze dynamic properties of models. The analysis is supported by the DynAlloy Analyzer tool. In this paper we present a method for translating sequential Java programs to DynAlloy. This allows one to use DynAlloy as a new formal method for the analysis of Java programs. As an application showing the ut...
متن کاملA history of Floral diversity (pollen, spores and algal) during the latest Holocene in the Bandung basin based on palynological analysis in Cihideung, West Java, Indonesia
Floral diversity is a measure of number of type flora in an area, and reflects how vegetation develops in response to the environmental condition during a certain time interval. The present study aims to examine changes in the diversity of vegetation (pollen, spores and algae), evenness, and similarity in the Bandung Basin through a core of 240 cm depth using a ground drill, as well as the ...
متن کاملReverse Engineering of Java
Java applets have been used increasingly on web sites to perform client-side processing and provide dynamic content. While many web site analysis tools are available , their focus has been on static HTML content and most ignore applet code completely. This paper presents a system that analyzes and tracks changes in Java ap-plets. The tool extracts information from applet code about classes, met...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2002